/* 
    元组
      - 元组类型允许表示一个已知元素数量和类型的数组，各元素的类型不必相同。 比如，你可以定义一对值分别为 string 和 number 类型的元组。
    枚举
    enum 类型是对 JavaScript 标准数据类型的一个补充。 使用枚举类型可以为一组互异的数值或字符串赋予友好的名字。

*/
let t1: [string, number];
t1 = ["hello", 10]; //OK

console.log(t1[0].substring(1)); // OK

// 默认是数值枚举
enum Color {
  Red,
  Yellow = 2,
  Blue,
}
console.log(Color);

let color: Color = Color.Yellow;
// color = -1   // 数值枚举有问题: 变量可以为别的值

let cat = {
  name: "tom",
  color: 1,
};

switch (cat.color) {
  case Color.Red:
    console.log("你的猫是红色的");
    break;
  case Color.Yellow:
    console.log("你的猫是黄色的");
    break;
  case Color.Blue:
    console.log("你的猫是蓝色的");
    break;
  default:
    console.log("你的猫是其它色的");
}
